home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 101-125 / scopedisk122 / bassub / alert.sub < prev    next >
Text File  |  1995-03-19  |  1KB  |  58 lines

  1. REM Alert
  2. 'Creates a System AutoRequestor alert with 3 lines of text
  3. 'msg1$ through msg3$ are the text lines
  4. 'pos$ = text for Positive response button
  5. 'neg$ = text for Negative response button
  6. 'res& = returns result 0=negative, 1=positive
  7. '
  8. SUB Alert(msg1$,msg2$,msg3$,pos$,neg$,res&)
  9.     SHARED add&,st$,offs%
  10.     bt%=3
  11.     Quest$(1)=msg1$
  12.     Quest$(2)=msg2$
  13.     Quest$(3)=msg3$
  14.     yes$=pos$
  15.     no$=neg$
  16.     wid%=8*38
  17.     hi%=8*9
  18.     offs%=0
  19.     opt&=2^0+2^16
  20.     req&=AllocRemember&(0,400,opt&)
  21.     if req&=0 THEN ERROR 7
  22.     add&=req&
  23.     t1&=add&
  24.     FOR loop2=1 to bt%-1
  25.         st$=Quest$(loop2)
  26.         MakeHeader add&,st$,1,5,offs%+3
  27.         offs%=offs%+8
  28.     NEXT loop2
  29.     st$=Quest$(bt%)
  30.     MakeHeader add&,st$,0,5,offs%+3
  31.     st$=yes$
  32.     t2&=add&
  33.     MakeHeader add&,st$,0,5,3
  34.     st$=no$
  35.     t3&=add&
  36.     MakeHeader add&,st$,0,5,3
  37.     res&=AutoRequest&(WINDOW(7),t1&,t2&,t3&,0,0,wid%,hi%)
  38.     CALL FreeRemember(0,-1)
  39. END SUB
  40. SUB MakeHeader(ptr&,txt$,md%,le%,te%) STATIC
  41.     SHARED add&
  42.     txt$=txt$+CHR$(0)
  43.     POKE ptr&,1
  44.     POKE ptr&+1,0
  45.     POKE ptr&+2,2
  46.     POKEW ptr&+4,le%
  47.     POKEW ptr&+6,te%
  48.     POKEL ptr&+8,0
  49.     POKEL ptr&+12,SADD(txt$)
  50.     IF md%=0 THEN
  51.         POKEL ptr&+16,0
  52.     ELSE
  53.         POKEL ptr&+16,ptr&+20
  54.     END IF
  55.     add&=ptr&+20
  56. END SUB
  57.  
  58.